<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 18  约数  1  2  3  6  9 18
        // 16  约数  1  2  4  8  16
        // 公约数  共同的约数     1   2 
        // 最大公约数  2 

        function divisor(max, min) {
            // num1 存的是最大值
            // num2 存的是最小值
            var num1 = max > min ? max : min;
            var num2 = max < min ? max : min;

            //先写结束条件 
            if (num1 % num2 == 0) return num2;

            return divisor(num2, num1 % num2);
        }



        // var a = true;
        // function fn() {
        //     // 预解析结束  a 是undefined 

        //     if (!a) {
        //         var a = 10;
        //     }
        //     console.log(a);
        // }
        // fn();


        // var a = 8;
        // function fn() {
        //     if (!a) {
        //         var a = 15;
        //     }
        //     console.log(a);
        // }
        // fn();

        function get_sum() {
            var j = 1
            var sum = 0;
            for (var i = 1; i < 101; i++) {
                sum += j / i;
                // console.log(`${j}/${i}`);
                j = -j;
            }


            return sum;
        }

        // 第一次  j=1   i=1     j/i    1/1
        // 第二次  j=-1  i=2     j/i    -1/2
        // 第三次  j=1   i=3     j/i    1/3
        // 第四次  j=-1  i=4     j/i    -1/4


        // var sum = 0;
        // for (var i = 0; i < 64; i++) {
        //     // console.log(i); // i就是2的几次方
        //     sum += 2 ** i;
        // }

        // console.log(sum*0.0001 );

        // 1  2    4  ....    
        // // 0  1    2     ....... 29
        // var sum = 0;
        // for (var i = 0; i < 24; i++) {
        //     sum += 2 ** i;
        // }

        // console.log(sum/100);



        // var flag = true;  // 默认开关开启 用户想一直操作 
        // while (true) {
        //     var text = prompt('请输入您要的操作:1加\n2减\n3乘\n4除\n5退出')
        //     switch (text) {
        //         case '1':
        //             var num1 = parseFloat(prompt('请输入第一个数字:'));
        //             var num2 = parseFloat(prompt('请输入第一个数字:'));
        //             alert(num1 + num2);
        //             break;
        //         case '2':
        //             var num1 = parseFloat(prompt('请输入第一个数字:'));
        //             var num2 = parseFloat(prompt('请输入第一个数字:'));
        //             alert(num1 - num2);
        //             break;
        //         case '3':
        //             var num1 = parseFloat(prompt('请输入第一个数字:'));
        //             var num2 = parseFloat(prompt('请输入第一个数字:'));
        //             alert(num1 * num2);
        //             break;

        //         case '4':
        //             var num1 = parseFloat(prompt('请输入第一个数字:'));
        //             var num2 = parseFloat(prompt('请输入第一个数字:'));
        //             alert(num1 / num2);
        //             break;
        //         case '5':

        //             // 如果直接写break  代码认为你是 防止向下穿透不会终止循环
        //             // 所以不能写break  
        //             // 做一件事情让switch结束后 通知while 我想结束 

        //             flag = false
        //     }

        //     // 本次循环switch结束  判断flag 如果是true 那么继续循环 
        //     // 如果是false 停止循环 
        //     if (flag == false) {
        //         break
        //     }

        // }



        // 判断一个数字是否是素数  

        // var num = 18;
        // var flag = true; // 加入是素数
        // for (var i = 2; i < num; i++) {
        //     //这时候i是2 3 4 5 6 7 8 ... 17
        //     if (num % i == 0) {
        //         console.log(`${num}不是素数`);
        //         flag = false
        //         break;
        //     }
        // }

        // // 2到17检查完以后  得出结论  num是不是素数 
        // if (flag) {
        //     console.log('是素数')
        // }


        function is_prime(num) {
            if(num==1) return true;
            var flag = true; 
            for (var i = 2; i < num; i++) {
                if (num % i == 0) {
                    flag = false
                    return false 
                    
                }
            }

            // 2到17检查完以后  得出结论  num是不是素数 
            if (flag) {
               return true
            }
        }


        // console.log(is_prime(17))

        // 1-100所有的素数 

        // for(var i=2;i<101;i++){
        //     if(is_prime(i)){
        //         console.log(i)
        //     }
        // }


        // 100元  买100只鸡 
        // 公鸡  5元 
        // 母鸡  3元 
        // 小鸡  一元三只 


        //问几种买法

        //穷举 
        // 公鸡 0只 最多 20只  
        // 母鸡 0只  最多 33只 
        // 小鸡 最多  300只   
        //最少  100-20-33 47只 
        

        // 100只 既要有公鸡 也要母鸡  也要小鸡 
        // for(var x=0;x<=20;x++){
        //     for(var y=0;y<=33;y++){
        //        for(var z=1;z<=92;){

        //        }
        //     }
        // }

        // 公鸡  最少1只 最多 20 但是不能20留出2个位置 买母鸡和小鸡
        // 公鸡 最多 18只  

        // 母鸡  最少 1只   最多33只 需要留出 2个位置 给公鸡和小鸡  

        // 小鸡仔  至少1只  100元 最多300只 但是限定条件是  必须有公鸡和母鸡
        // 还有最后 100元 100只鸡  

        // 小鸡最多98
        for(var x=1;x<=18;x++){
            for(var y=1;y<=31;y++){
                for(var z=1;z<=98;z++){
                    if(x+y+z==100 && 5*x+3*y+1/3*z==100){
                        document.write(`${x},${y},${z}<br />`);
                    }
                }
            }
        }


        // 100匹马  100担粮食  
        // 大马 3
        // 中马 2
        // 小马   2匹马 一旦粮食




    </script>
</body>

</html>